Mobile network operators or service providers are increasingly deploying location-based services (LBS) to add safety and convenience features to a mobile station's capabilities. Location-based services include applications that are designed to take advantage of knowledge about the physical location of the mobile station. One example of a location-based service is an enhanced emergency service (E911) that provides the physical location of the mobile station to an emergency response team.
The assisted global positioning system (aGPS) and other location capabilities that have been introduced into mobile stations for E911 can also be used to support a wide range of commercial location-based services. However, for commercial services, there are economic benefits that can be realized from an architecture that relies on Mobile Station (MS) resident functionality for control and security, rather than the more complex architecture used for E911 (i.e., an overlay network of mobile positioning systems).
Location-based services may be subscriber-initiated services, with the aGPS and other location capabilities of the mobile station being locally invoked by subscriber action at the mobile station (such as when a subscriber dials an emergency telephone number). The aGPS and other location capabilities of a mobile station may also be invoked by a network entity by sending a specially formatted text message (e.g., a short message service (SMS) message) to the mobile station.
One problem with this approach as currently practiced is that the network or other remote entities cannot invoke or trigger the execution of a particular location-based software application on a mobile station that may be configured to include several location-based software applications, which must be done if a significant portion of the functionality needed for location-based services is to be shifted from network entities to the mobile station.
What is needed is a method for selecting and invoking a particular location-based software application, resident in the mobile station, using a message passing architecture. What is further needed is a method for passing parameters to control the operation of applications that are executing on the mobile station.